package com.employment.dto;

import lombok.Data;

import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 求职申请DTO
 * 
 * @author Employment System
 * @since 1.0.0
 */
@Data
public class JobApplicationDTO {

    /**
     * 申请ID（更新时需要）
     */
    private Long applicationId;

    /**
     * 职位ID
     */
    @NotNull(message = "职位ID不能为空")
    private Long jobId;

    /**
     * 简历ID
     */
    @NotNull(message = "简历ID不能为空")
    private Long resumeId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 公司ID
     */
    private Long companyId;

    /**
     * 求职信
     */
    private String coverLetter;

    /**
     * 期望薪资
     */
    private BigDecimal expectedSalary;

    /**
     * 可入职时间
     */
    private LocalDate availableDate;

    /**
     * 申请状态
     */
    private Integer status;

    /**
     * 回复内容
     */
    private String replyContent;

    /**
     * 面试时间
     */
    private LocalDateTime interviewTime;

    /**
     * 面试地址
     */
    private String interviewAddress;

    /**
     * 面试联系人
     */
    private String interviewContact;

    /**
     * 面试联系电话
     */
    private String interviewPhone;

    /**
     * 面试备注
     */
    private String interviewNote;

    /**
     * 拒绝原因
     */
    private String rejectReason;

    /**
     * 评分（1-10分）
     */
    private BigDecimal score;

    /**
     * 评价
     */
    private String evaluation;
}